﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace RL.Javascript
{
    public enum JsRenderOption
    {
        Script,
        Return,
        None,
        ScriptAndReturn
    }
    
    public enum JsEvent
    {
        onabort, 
        onafterprint, 
        onafterupdate, 
        onbeforeactivate, 
        onbeforecopy, 
        onbeforecut, 
        onbeforedeactivate, 
        onbeforeeditfocus, 
        onbeforepaste, 
        onbeforeprint, 
        onbeforeunload, 
        onbeforeupdate, 
        onblur, 
        onbounce, 
        oncellchange, 
        onchange, 
        onclick, 
        onclose, 
        oncontextmenu, 
        oncontrolselect, 
        oncopy, 
        oncut, 
        ondataavailable, 
        ondatasetchanged, 
        ondatasetcomplete, 
        ondblclick, 
        ondeactivate, 
        ondrag, 
        ondragdrop, 
        ondragend, 
        ondragenter, 
        ondragleave, 
        ondragover, 
        ondragstart, 
        ondrop, 
        onerror, 
        onerrorupdate, 
        onfilterchange, 
        onfinish, 
        onfocus, 
        onfocusin, 
        onfocusout, 
        onhelp, 
        onkeydown, 
        onkeypress, 
        onkeyup, 
        onlayoutcomplete, 
        onload, 
        onlosecapture, 
        onmousedown, 
        onmouseenter, 
        onmouseleave, 
        onmousemove, 
        onmouseout, 
        onmouseover, 
        onmouseup, 
        onmousewheel, 
        onmove, 
        onmoveend, 
        onmovestart, 
        onpaste, 
        onpropertychange, 
        onreadystatechange, 
        onreset, 
        onresize, 
        onresizeend, 
        onresizestart, 
        onrowenter, 
        onrowexit, 
        onrowsdelete, 
        onrowsinserted, 
        onscroll, 
        onselect, 
        onselectionchange, 
        onselectstart, 
        onstart, 
        onstop, 
        onsubmit, 
        onunload

    }

    public enum jsevent
    {  
        abort, 
        afterprint, 
        afterupdate, 
        beforeactivate, 
        beforecopy, 
        beforecut, 
        beforedeactivate, 
        beforeeditfocus, 
        beforepaste, 
        beforeprint, 
        beforeunload, 
        beforeupdate, 
        blur, 
        bounce, 
        cellchange, 
        change, 
        click, 
        close, 
        contextmenu, 
        controlselect, 
        copy, 
        cut, 
        dataavailable, 
        datasetchanged, 
        datasetcomplete, 
        dblclick, 
        deactivate, 
        drag, 
        dragdrop, 
        dragend, 
        dragenter, 
        dragleave, 
        dragover, 
        dragstart, 
        drop, 
        error, 
        errorupdate, 
        filterchange, 
        finish, 
        focus, 
        focusin, 
        focusout, 
        help, 
        keydown, 
        keypress, 
        keyup, 
        layoutcomplete, 
        load, 
        losecapture, 
        mousedown, 
        mouseenter, 
        mouseleave, 
        mousemove, 
        mouseout, 
        mouseover, 
        mouseup, 
        mousewheel, 
        move, 
        moveend, 
        movestart, 
        paste, 
        propertychange, 
        readystatechange, 
        reset, 
        resize, 
        resizeend, 
        resizestart, 
        rowenter, 
        rowexit, 
        rowsdelete, 
        rowsinserted, 
        scroll, 
        select, 
        selectionchange, 
        selectstart, 
        start, 
        stop, 
        submit, 
        unload
   
    }

    public enum JsObjectType
    {
        [StringValue("String")]
        String,

        [StringValue("Number")]
        Number,

        [StringValue("Boolean")]
        Boolean, 
       
        [StringValue("Literal")]
        Literal,

        [StringValue("Array")]
        Array
    }

    public enum Terminate
    {
        YES,
        NO
    }
}
